/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package presenter;

import colecao.Pessoas;
import interfaces.IObservador;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
import model.Pessoa;
import view.ListaPessoasView;

/**
 *
 * @author Bush
 */
public class PessoaObservadorConcretoPresenter implements IObservador{

    private ListaPessoasView view;
    private Pessoas pessoas;
    
    public PessoaObservadorConcretoPresenter(Pessoas pessoas) {
        view = new ListaPessoasView();
        this.pessoas = pessoas;        
        pessoas.cadastrar(this);
        carregarTabela(pessoas.getPessoas());
        view.getBtnFechar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                view.dispose();
            }
        });
        
        view.setLocationRelativeTo(view);
        view.setVisible(true);
        
    }
    
    public void carregarTabela(ArrayList<Pessoa> pessoas){
        DefaultTableModel tm = new DefaultTableModel(
                new Object[][]{},
                new String[]{"Nome","Telefone"}) {

                    @Override
                    public boolean isCellEditable(int row, int col) {
                        return false;
                    }
                };
        tm.setNumRows(0);
        for (int i = 0; i < pessoas.size(); i++) {
            String contato = pessoas.get(i).toString();
            String linha[] = contato.split(",");
            tm.addRow(linha);
        }
        view.getTabela().setModel(tm);
    }
    
    @Override
    public void atualizar(ArrayList<Pessoa> lista) {
        carregarTabela(lista);
    }
    
}
